Repository navigation
Conversation
gnidan
force-pushed
the
bugc-call-jump-arguments
branch
from
October 7, 2026 01:31
8d95f1f to
a7bcb21
Compare
Contributor
|
gnidan
force-pushed
the
bugc-call-jump-arguments
branch
from
October 7, 2026 02:05
a7bcb21 to
0e66e1c
Compare
Member
Author
|
Included in #368. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
bugc puts an internal call's
invokeon two instructions: the caller'sJUMPand the callee's entryJUMPDEST. Only theJUMPDEST's copy hadarguments. Contexts are postconditions, so a debugger opens the callee's frame on the step after theJUMP, which is theJUMPDESTstep, and there the frame had no arguments. They showed up one step later.The
JUMPleaves the arguments on the stack in the same slots theJUMPDESTdescribes (theJUMPDESTdoes not change the stack), so theJUMP'sinvokenow has the sameargumentspointer. Both sites build it from one helper,invokeArguments.call-contexts.test.tsasserted that the callerJUMPhas noarguments. That assertion now expects the pointer group, and a new test reads theJUMP's argument pointers against the trace state after theJUMPto check that they give the values passed.The tail-call back-edge
JUMPstill has noarguments. This change does not touch it.